package 框架学习.SpringBoot.原理.Bean的管理.第三方bean;

/**
 * 第三方bean<p>
 * 详见项目<a href="">springboot-control-of-bean</a>
 */
public class index {
    /**
     * 我们自己可以通过注解定义bean<p>
     * 但有的bean对象是我们引入的第三方依赖中定义的（比如dom4j）<p></p>
     * <p>
     * 其中的SAXReader对象每次都要创建一个新的，浪费资源<p>
     * 我们可以把它交给IOC容器管理<p></p>
     * <p>
     * 如果需要管理的bean对象来自第三方，是无法使用@Component及其衍生注解声明bean的（不能改源码）<p>
     * 这时候就需要用到@Bean<p></p>
     * <p>
     * 方式1：在启动类中定义一个方法，在方法上加@Bean，把方法返回值交给IOC容器（不建议）<p>
     * 因为项目开发中，我们要保证启动类的纯粹性，所以不要在启动类中写其他东西，所以我们采用方式2<p></p>
     * <p>
     * 方式2：若要管理第三方bean对象，建议对这些bean集中分类配置（单独定义一个配置类，在配置类中声明bean）<p>
     * 我们可以通过@Bean注解的name或value属性来执行bean对象的名称<p>
     * 如果未指定，默认为方法名<p></p>
     * <p>
     * 若声明第三方bean对象时，需要用到别的bean对象，如何自动注入？<p>
     * 直接在方法形参列表中声明对于类型的参数就行，此时会进行自动装配<p>
     *
     * @param args
     */
    public static void main(String[] args) {

    }
}
